import javax.swing.*;
import java.awt.*;

public class MemoryManagementGUI extends JFrame {

    public MemoryManagementGUI() {
        // 初始化主窗口
        setTitle("操作系统内存管理模拟系统");
        setSize(1000, 800);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null); // 窗口居中

        // 创建选项卡面板
        JTabbedPane tabbedPane = new JTabbedPane();

        // 添加动态分区管理选项卡
        DynamicPartitionPanel partitionPanel = new DynamicPartitionPanel();
        tabbedPane.addTab("动态分区管理", partitionPanel);

        // 添加动态分页管理选项卡
        DynamicPagingPanel pagingPanel = new DynamicPagingPanel();
        tabbedPane.addTab("动态分页管理", pagingPanel);

        // 将选项卡添加到主窗口
        add(tabbedPane);

        // 设置窗口可见
        setVisible(true);
    }

    public static void main(String[] args) {
        // 确保GUI创建在事件分派线程中
        SwingUtilities.invokeLater(() -> {
            new MemoryManagementGUI();
        });
    }
}